const { login } = require("../controller/user");
const { SuccessModel, ErrorModel } = require("../model/resModel");
const { set, get } = require("../db/redis")

const handleUserRouter = (req, res) => {
  const method = req.method;
  // 登陆
  if(method == 'POST' && req.path == '/api/user/login') {
    const { username, password } = req.body;
    // const { username, password } = req.query;
    const result = login(username, password);
      return result.then(data => {
      if(data.username) {
        // 设置 session 的值
        req.session.username = data.username
        req.session.realname = data.realname
        // 同步到 redis  
        set(req.sessionId, req.session) 
        console.log("router-user.js-req.sessionId:", req.sessionId, "req.session:", req.session)

        return new SuccessModel();
      } else {
        return new ErrorModel('登录失败');
      }
    })
  }

  // // 登录验证的测试
  // if(method == "GET" && req.path == "/api/user/login-test") {
  //   if(req.session.username) {   // 若cookie里的username非空，则是登录状态
  //     return Promise.resolve(
  //       new SuccessModel({
  //         session: req.session
  //       })
  //     )
  //   } else {
  //     return Promise.resolve(   // 注意：是Promise.resolve
  //       new ErrorModel('尚未登录')
  //     )
  //   }
  // }
}

module.exports = handleUserRouter;